home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
C++
/
Applications
/
PICSee Dust 1.01
/
Primary Source
/
PICSViewerPrivate.h
< prev
next >
Wrap
Text File
|
1995-11-15
|
6KB
|
258 lines
#ifndef GRAPHICSBUFFERS_H_
#include "GraphicsBuffers.h"
#endif
#ifndef PICSTYPES_H_
#include "PICS_Types.h"
#endif
#ifndef PICSINFO_H_
#include "PICS_Info.h"
#endif
#ifndef __STRINGUTILS__
#include "StringUtils.h"
#endif
#ifndef DIALOGUTILS_H_
#include "DialogUtils.h"
#endif
#ifndef _QDUTILS_H_
#include "QDUtils.h"
#endif
enum {
kPICSViewerTemplateID = 1000,
kPICSViewerSpeedMenuID = kPICSViewerTemplateID,
kPICSViewerPromptSaveID = 1100,
kPICSViewerPromptSave = 1,
kPICSViewerPromptCancel,
kPICSViewerPromptDontSave
};
enum {
kSmallWidth = 400, // Viewing area of small viewer
kSmallHeight = 250,
kUsualSpeedIncrement = 1,
kLargerSpeedIncrement = 5,
kUsualMoveIncrement = 1,
kLargerMoveIncrement = 5
};
enum {
kCrossCursorID = 128,
kLightningCursorID,
kScissorCursorID,
kAltCrossCursorID,
kHandOpenCursorID,
kHandClosedCursorID,
kHorizontalArrowID,
kVerticalArrowID
};
enum {
kNoAction,
kSelectionAction,
kCompositeAction,
kSplitAction,
kMoveSelectionAction,
kLeftAdjustSelectionAction,
kTopAdjustSelectionAction,
kRightAdjustSelectionAction,
kBottomAdjustSelectionAction
};
enum {
kNormalMagnification = 1,
kDoubleMagnification,
kTripleMagnification,
kQuadMagnification
};
enum {
kPICSViewer_ButtonBoxID = 128,
kPICSViewer_SpeedPopupID = kPICSViewerSpeedMenuID,
kPICSViewer_StopBtnUpID = 129, // PICT rsrc id's
kPICSViewer_RewindBtnUpID,
kPICSViewer_StepBackBtnUpID,
kPICSViewer_PlayBtnUpID,
kPICSViewer_StepForwardBtnUpID,
kPICSViewer_ForwardBtnUpID,
kPICSViewer_StopBtnDownID,
kPICSViewer_RewindBtnDownID,
kPICSViewer_StepBackBtnDownID,
kPICSViewer_PlayBtnDownID,
kPICSViewer_StepForwardBtnDownID,
kPICSViewer_ForwardBtnDownID
};
enum {
kPICSViewer_StopBtn = 1,
kPICSViewer_RewindBtn,
kPICSViewer_StepBackBtn,
kPICSViewer_PlayBtn,
kPICSViewer_StepForwardBtn,
kPICSViewer_ForwardBtn,
kPICSViewer_CompositeBtn,
kPICSViewer_SplitBtn,
kPICSViewer_SpeedField,
kPICSViewer_SpeedPopupBtn,
kPICSViewer_SpeedUpBtn,
kPICSViewer_SpeedDownBtn,
kPICSViewer_LoopBtn,
kPICSViewer_BounceBackBtn,
kPICSViewer_TrackMouseBtn,
kPICSViewer_PopupInfoBtn,
kPICSViewer_CurFrameField,
kPICSViewer_NumFramesField,
kPICSViewer_PICSWidthField,
kPICSViewer_PICSHeightField,
kPICSViewer_TrackMouseField,
kPICSViewer_TrackCropField,
kPICSViewer_OutputBox,
kPICSViewer_SpeedBox,
kPICSViewer_BtnBox,
kPICSViewer_Line1,
kPICSViewer_Line2,
kPICSViewer_Line3
};
// ---------------------------------------------------------------------------
typedef struct {
GraphicsBufferPtr buffer;
Rect bounds;
} PICSViewerBtn;
static PICSViewerBtn sBtnData;
typedef struct {
DialogPtr window;
GraphicsBufferPtr buffer;
long bufferDepth;
Rect picsFrame;
Rect outputFrame;
Rect marqueeRect;
Point trackingPoint;
short trackMouse;
short currentAction;
short fileRefNum;
short fileModified;
long fileSize;
short numFrames;
short curFrame;
short animationMethod;
short usesDeltaPictures;
short magnification;
short doLoop;
short doBounceBack;
PICSInfo picsInfo;
FSSpec picsFile;
} PICSViewerData;
// ---------------------------------------------------------------------------
PICSViewerData *_ExtractPICSViewer(DialogPtr srcViewer);
Boolean _ClosePICSViewer(PICSViewerData *viewer);
Boolean _SavePICSViewer(PICSViewerData *viewer);
void _ClickPICSViewer(PICSViewerData *viewer, short itemClicked);
void _KeyDownPICSViewer(PICSViewerData *viewer, char keyPressed);
void _UpdatePICSViewer(PICSViewerData *viewer);
void _IdlePICSViewer(PICSViewerData *viewer);
void _SetPICSViewerCursor(PICSViewerData *viewer);
void _UpdatePICSViewerInfo(PICSViewerData *viewer);
void _ActivatePICSViewer(PICSViewerData *viewer, Boolean activate);
void _DrawPICSViewerBtn(PICSViewerData *viewer, short btn, Boolean pushed);
void _DrawPICS(PICSViewerData *viewer);
void _SetPICSViewerModified(PICSViewerData *viewer, Boolean modified);
Boolean _IsPICSViewerModified(PICSViewerData *viewer);
void _SelectEntirePICSViewerFrame(PICSViewerData *viewer, Boolean select);
void _CopyPICSViewerFrame(PICSViewerData *viewer);
void _RewindPICSViewer(PICSViewerData *viewer);
void _StepBackPICSViewer(PICSViewerData *viewer);
void _PlaySynchPICSViewer(PICSViewerData *viewer);
void _StepForwardPICSViewer(PICSViewerData *viewer);
void _ForwardPICSViewer(PICSViewerData *viewer);
void _IncreasePICSViewerSpeed(PICSViewerData *viewer);
void _DecreasePICSViewerSpeed(PICSViewerData *viewer);
void _ShowPICSViewerPopupInfo(PICSViewerData *viewer);
void _ActionPICSViewer(PICSViewerData *viewer);
void _KeyDownPICSViewerSelection(PICSViewerData *viewer, char keyPressed);
void _CompositePICSViewer(PICSViewerData *viewer);
void _SplitPICSViewer(PICSViewerData *viewer);
// ---------------------------------------------------------------------------
void _SetMarqueeColor(RGBColor *marqueeColor);
void _FrameMarquee(PICSViewerData *viewer);
void _TrackUpdateMarquee(const Rect *rectToUpdate, const Rect *currentMarquee);
void _SetMarqueeRect(
PICSViewerData *viewer,
const Rect *newMarquee,
Boolean updateInfo);
void _UpdateMarqueeRectInfo(PICSViewerData *viewer);
void _EraseMarquee(PICSViewerData *viewer, const Rect *rectToErase);
// ---------------------------------------------------------------------------
// Shortcuts when opening a PICS viewer
// Regardless of size, use the large window
#define USELARGEWINDOW_SHORTCUT ShiftKeyDown()
// If use monitor depth for buffer, use pic's depth instead, or vice-versa
#define REVERSEANIMATION_SHORTCUT OptionKeyDown()
// Shortcuts when playing a PICS viewer
// Play at fastest speed possible
#define FASTESTANIM_SHORTCUT ShiftKeyDown()
// Draw marquee when playing PICS
#define DRAWMARQUEE_SHORTCUT CapsKeyDown()
#define LARGERINCREMENT_SHORTCUT ShiftKeyDown()
#define SHRINKSELECTION_SHORTCUT OptionKeyDown()
#define GROWSELECTION_SHORTCUT ControlKeyDown()
#define MOVESELECTION_SHORTCUT SpaceKeyDown()
// Misc shortcuts
#define VIEWDELTA_DEBUG CapsKeyDown()
#define kEmptyStr "\p "
// ---------------------------------------------------------------------------